using System;

namespace Oracle.ManagedDataAccess.Client
{
	public sealed class OracleXmlSaveProperties : ICloneable
	{
		private string[] m_keyColumnsList;

		private string m_rowTag;

		private string m_table;

		private string[] m_updateColumnsList;

		private string m_xslt;

		private string m_xsltParams;

		public string[] KeyColumnsList
		{
			get
			{
				return m_keyColumnsList;
			}
			set
			{
				m_keyColumnsList = value;
			}
		}

		public string RowTag
		{
			get
			{
				return m_rowTag;
			}
			set
			{
				m_rowTag = value;
			}
		}

		public string Table
		{
			get
			{
				if (m_table != null)
				{
					return m_table;
				}
				return string.Empty;
			}
			set
			{
				m_table = value;
			}
		}

		public string[] UpdateColumnsList
		{
			get
			{
				return m_updateColumnsList;
			}
			set
			{
				m_updateColumnsList = value;
			}
		}

		public string Xslt
		{
			get
			{
				return m_xslt;
			}
			set
			{
				m_xslt = value;
			}
		}

		public string XsltParams
		{
			get
			{
				return m_xsltParams;
			}
			set
			{
				m_xsltParams = value;
			}
		}

		public OracleXmlSaveProperties()
		{
			m_rowTag = "ROW";
		}

		public object Clone()
		{
			return new OracleXmlSaveProperties
			{
				m_keyColumnsList = m_keyColumnsList,
				m_rowTag = m_rowTag,
				m_table = m_table,
				m_updateColumnsList = m_updateColumnsList,
				m_xslt = m_xslt,
				m_xsltParams = m_xsltParams
			};
		}
	}
}
